#ifndef UART_CMD_CONSOLE_H
#define UART_CMD_CONSOLE_H

#include "FreeRTOS.h"
#include "task.h"

#ifdef __cplusplus
extern "C" {
#endif

// 命令处理函数类型
typedef void (*CommandFunc)(int argc, char *argv[]);

// 命令结构体
typedef struct {
    const char *cmd;         // 命令字符串
    CommandFunc func;        // 命令处理函数
    const char *desc;        // 命令描述
} ConsoleCommand;

// 初始化命令行控制台
void Console_Init(void);

// 注册自定义命令
void Console_RegisterCommands(const ConsoleCommand *commands, size_t count);

// 控制台格式化输出
void Console_Printf(const char *format, ...);

#ifdef __cplusplus
}
#endif

#endif // UART_CMD_CONSOLE_H
